OneThird CMS

Lightweight CMS for Small website, Web application framework.

Download Document

english

XSS(クロスサイトスクリプティング)対策、safe_echoのすすめ

phpプログラムを作る上でセキュリティ上厄介な事がXSS(クロスサイトスクリプティング)対策です

表示する文字列はすべて、HTMLの制御文字をエスケープしなければなりません

ところが、このエスケープ処理はわかっていても忘れがちです

なぜか?それはどこでエスケープをかけたかわからないからです

表示する変数を遡って正常にエスケープできているか確認しないといけません

onethird cmsでは、表示する場所でエスケープすることによりこの忘れを回避することができます

例えば、inputタグのvalueを設定する場合

<input type='text' value='{$ut->safe_echo($foo)}' />

と書くことにより、確実にエスケープ処理を行うことができます

ぜひご活用ください

なお、この考えかたはonethird cmsの設計思想に大きく関わっています

「宣言や実装はできるだけ近くで行ったほうがいい」

これはCからC++に言語が進化した時に導入された考えかたです

昔のCでは変数宣言は、関数の頭で宣言しないとエラーになりました

C++は関数のどの場所で宣言してもいい仕様となりました

大きな理由が、使う変数は処理の近くで宣言したほうがミスが少なり使い勝手もいい

ということからです

OneThird CMSもこの考えかたを重視していて設計の根幹としています

そういう発想でソースを見るとなるほどという部分があると思います

ぜひご参考に!